# This example modifies code from Hadley Wickham (https://gist.github.com/hadley/233134)# It also uses data from Nathan Yau's flowingdata site (http://flowingdata.com/)unemp <-read.csv("http://datasets.flowingdata.com/unemployment09.csv")names(unemp) <-c("id", "state_fips", "county_fips", "name", "year", "?", "?", "?", "rate")unemp$county <-tolower(gsub(" County, [A-Z]{2}", "", unemp$name))unemp$state <-gsub("^.*([A-Z]{2}).*$", "\\1", unemp$name)county_df <-map_data("county")names(county_df) <-c("long", "lat", "group", "order", "state_name", "county")county_df$state <- state.abb[match(county_df$state_name, tolower(state.name))]county_df$state_name <-NULLstate_df <-map_data("state")choropleth <-merge(county_df, unemp, by =c("state", "county"))choropleth <- choropleth[order(choropleth$order), ]choropleth$rate_d <-cut(choropleth$rate, breaks =c(seq(0, 10, by =2), 35))# provide a custom tooltip to plotly with the county name and actual ratechoropleth$text <-with(choropleth, paste0("County: ", name, "Rate: ", rate))p <-ggplot(choropleth, aes(long, lat, group = group)) +geom_polygon(aes(fill = rate_d, text = text), colour =alpha("white", 1/2), size =0.2) +geom_polygon(data = state_df, colour ="white", fill =NA) +scale_fill_brewer(palette ="PuRd") +theme_void()
Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
ℹ Please use `linewidth` instead.
Warning in geom_polygon(aes(fill = rate_d, text = text), colour =
alpha("white", : Ignoring unknown aesthetics: text
# just show the text aesthetic in the tooltipggplotly(p, tooltip ="text")
m <-ggplot(faithful, aes(x = eruptions, y = waiting)) +stat_density_2d() +xlim(0.5, 6) +ylim(40, 110)ggplotly(m)
2.2 Faithful Eruptions (polygon)
m <-ggplot(faithful, aes(x = eruptions, y = waiting)) +stat_density_2d(aes(fill = ..level..), geom ="polygon") +xlim(0.5, 6) +ylim(40, 110)ggplotly(m)
Warning: The dot-dot notation (`..level..`) was deprecated in ggplot2 3.4.0.
ℹ Please use `after_stat(level)` instead.
ℹ The deprecated feature was likely used in the ggplot2 package.
Please report the issue at <https://github.com/tidyverse/ggplot2/issues>.
2.3 Faithful Eruptions (hex)
m <-ggplot(faithful, aes(x = eruptions, y = waiting)) +geom_hex() ggplotly(m)
Source Code
---title: "ggplotly: various examples"author: "Carson Sievert"output: flexdashboard::flex_dashboard: orientation: rows social: menu source_code: embed---```{r setup, include=FALSE}library(plotly)library(maps)knitr::opts_chunk$set(message =FALSE)```## Row {data-height="600"}### Unemployment```{r}# This example modifies code from Hadley Wickham (https://gist.github.com/hadley/233134)# It also uses data from Nathan Yau's flowingdata site (http://flowingdata.com/)unemp <-read.csv("http://datasets.flowingdata.com/unemployment09.csv")names(unemp) <-c("id", "state_fips", "county_fips", "name", "year", "?", "?", "?", "rate")unemp$county <-tolower(gsub(" County, [A-Z]{2}", "", unemp$name))unemp$state <-gsub("^.*([A-Z]{2}).*$", "\\1", unemp$name)county_df <-map_data("county")names(county_df) <-c("long", "lat", "group", "order", "state_name", "county")county_df$state <- state.abb[match(county_df$state_name, tolower(state.name))]county_df$state_name <-NULLstate_df <-map_data("state")choropleth <-merge(county_df, unemp, by =c("state", "county"))choropleth <- choropleth[order(choropleth$order), ]choropleth$rate_d <-cut(choropleth$rate, breaks =c(seq(0, 10, by =2), 35))# provide a custom tooltip to plotly with the county name and actual ratechoropleth$text <-with(choropleth, paste0("County: ", name, "Rate: ", rate))p <-ggplot(choropleth, aes(long, lat, group = group)) +geom_polygon(aes(fill = rate_d, text = text), colour =alpha("white", 1/2), size =0.2) +geom_polygon(data = state_df, colour ="white", fill =NA) +scale_fill_brewer(palette ="PuRd") +theme_void()# just show the text aesthetic in the tooltipggplotly(p, tooltip ="text")```### Crimes```{r}crimes <-data.frame(state =tolower(rownames(USArrests)), USArrests)crimesm <- tidyr::gather(crimes, variable, value, -state)states_map <-map_data("state")g <-ggplot(crimesm, aes(map_id = state)) +geom_map(aes(fill = value), map = states_map) +expand_limits(x = states_map$long, y = states_map$lat) +facet_wrap( ~ variable) +theme_void()ggplotly(g)```## Row {data-height="400"}### Faithful Eruptions```{r}m <-ggplot(faithful, aes(x = eruptions, y = waiting)) +stat_density_2d() +xlim(0.5, 6) +ylim(40, 110)ggplotly(m)```### Faithful Eruptions (polygon)```{r}m <-ggplot(faithful, aes(x = eruptions, y = waiting)) +stat_density_2d(aes(fill = ..level..), geom ="polygon") +xlim(0.5, 6) +ylim(40, 110)ggplotly(m)```### Faithful Eruptions (hex)```{r, error=TRUE}m <-ggplot(faithful, aes(x = eruptions, y = waiting)) +geom_hex() ggplotly(m)```